package com.kinyx.framework.security;

import static org.junit.Assert.assertNotEquals;

import org.junit.Assert;
import org.junit.Test;

public class KOTP_Tester_ {

	@Test
	public void test() {
		final String encrypt = KOTP.encrypt();// 先取当前密文
		// 每隔一秒匹配一次
		while (true) {
			this.sleep(1000);
			if (!encrypt.equals(KOTP.encrypt())) {// 直到不匹配，则开始。
				break;
			}
		}
		final String start = KOTP.encrypt();// 取当前密文
		this.sleep(1500);
		Assert.assertEquals(start, KOTP.encrypt());// 未超时密文相同
		this.sleep(2500);
		assertNotEquals(start, KOTP.encrypt());// 已超时密文不同
	}

	void sleep(final long millis) {
		try {
			Thread.sleep(millis);
		} catch (final InterruptedException e) {
			e.printStackTrace();
		}
	}

}
